Fixed a bug where FindFile would return incorrect matches when using the name_starts_with and name_ends_with options. If the name of the file being examined was shorter than the length of the text being searched for, FindFile would count it as a match. Thanks goes to Dennis L. Davis for reporting this bug to me.
1.3a9 - 10/12/98
================
Fixed a serious memory leak in MatchInList, as well as two smaller memory leaks in AddItemToList and FindFile. No more leaks!
1.3a8 - 10/11/98
================
FindFile again uses the names_only option. If names_only is specified, the list returned is a list of filenames. If not, the list is a list of file paths.
The MatchInList command now works with the lists generated by the FindFile command. The list is expected to contain _only_ text. MatchInList looks for colons (:) in each element of the list to determine whether that item is a path or a simple filename. In the case of a path, only the actual filename is used in the comparison. You cannot, for instance, search for the word "audio" in this path: Macintosh HD:Audio:big bird.wav. The only part of the path that will be compared is "big bird.wav".
AddPathToList has been changed to AddItemToList. The data that you add is expected to be of type typeChar (text). If the data cannot be coerced to typeChar (text), the function will throw an error and exit.
1.3a7 - 10/7/98
===============
Removed the code that allocated FindFile storage in the system heap. This was causing major problems (bad crashes etc. on some machines). This will have to wait until later. For now, FindFile allocates its storage in the heap of the calling application, as it did before.
Added the option to have FindFile call WNE so that other applications can process events during scans. Be warned that turning this option on will slow FindFile down considerably depending on what the user happens to be doing during the scan. If your application remains in the foreground, and little action is taken by other applications during the scan, results should be close to what they would be without this option.
FindFile now _always_ returns a text path, rather than a file specification record. The names_only option is ignored in this version. This change was made in order to fix a major speed loss over networks (see below). Future versions _may_ allow different types of data. But for now, a textual path is the default.
FindFile has always had a speed problem that was particularly noticeable when scanning remote volumes. Scanning speeds over networks was roughly 1/3 the speed of scanning local volumes. This has been a major problem. I am happy to say that I have dramatically improved FindFile's scanning speed over networks, as well as boosted local speeds a tad.
Following are speed trials to show you how much faster this version of FindFile is. Each scan was run for 100 seconds, and the total files scanned during that time was recorded:
As you can see, both local and remote scanning speed has been significantly improved.
1.3a6 - 9/15/98
===============
Interim non-release version.
1.3a5 - 8/1/98
===============
FindFile now builds its list in the system heap while scanning. This reduces the memory requirements for FindFile to almost nothing! However, users will still need enough free memory in the application their scripts are running in to hold the list once FindFile finishes scanning and the list is transfered into their memory space.
Fixed a bug where FindFile could crash when the starting_at parameter supplied was of the wrong type.
FindFile will now accept a textual path as the starting_at parameter. The path must be a full path, and must resolve to an existing file or folder at the time of the call.
1.3a4 - 7/30/98
===============
1.3a3 was a bad compile. This version fixes that. The MatchInList and AddPathToList osaxen were missing. There is a problem with multi-target merge project settings in CodeWarrior. It builds the first target, but doesn't build the others, even though the osax resources are not in the output file. Weird. I'll be watching for this problem in the future.
1.3a3 - 7/30/98
===============
Back to alpha due to added features.
Added the "with subfolders" optional paramter to allow end-users to turn subfolder searching on and off. This option will be required from now on for FindFile to search subfolders.
Added support for using the label criteria on folders. (It previously only affected files.)
Updated MatchInList and AddPathToList to use the new keywords.
Fixed a bug where the filesize_greater_than handler was incorrectly coercing the input parameter, and was malfunctioning as a result.
1.3b2 - 7/13/98
===============
Fixed terminology conflict between the filetype_is keyword and one of the following osaxen: Dialog Director, DieHard, EightyLister, Resource Utilities.
Fixed terminology conflict between starting_at keyword and the startup items folder keyword used by the system. (See below)
Changed all keywords to ones that will not conflict with other osaxen. FindFile was using keywords such as 'strt' which have a good chance of being used in other osaxen. All new keywords start with the ƒ character like so: 'ƒold'.
1.3b1 - 7/11/98
===============
Alpha phase complete. Public release as first beta.
1.3a2 - 7/11/98
===============
Added kind_is... and kind_is_not... terminology /functionality.
The following keywords are now recognized and handled correctly (with the exception of kind_is_document - see below):
*** kind_is_document and kind_is_not_document are not handled yet. I have been unable to determine what exact criteria makes a "document" a document.
Added label_is and label_is_not terminology and functionality. Labels can be specified by number or by name. No color support at this time.
I have checked the results of each of these criteria against the results returned by the Find File application and they do appear to perform exactly as they would in the Find File application.
Updated documentation to reflect these changes.
1.3a1 - 7/9/98
==============
Added 'filesize is less than' and 'filesize is greater than' terminology and functionailty.
Changed all terminology to use "_" rather than " " (space) inbetween words. This should ensure that the osax will not conflict with any other terminology while mainting readability. Hopefully users won't dislike it too much.
Fixed bug that was preventing creator_is_not and filetype_is_not from working.
Updated documentation to relect these changes.
1.2 - 4/30/98
=============
Changed the name parameter as follows - you can now use 6 different phrases for different results:
name contains
name starts with
name ends with
name is
name is not
name does not contain
Added the following features:
creator is
creator is not
filetype is
filetype is not
with results
with resultType ??? <-- not operational
(more Find File-like features to come!)
1.1 - 4/30/98
=============
DOH! Reversed the characters in both of the previous history entry dates (4/25/89???). These entries were causing time warps to occur for whoever read them - generaly resulting in chronic confusion and head shaking. (OOPS! Sorry folks!)
Renamed the OSAX. FindFile suits it better I think for what it actually does. I may in the future, add more criterea to make the OSAX perform even more of what the Finders Find File does.
The trick will be to do this without making the OSAX hard to use.
Added some stuff to the info dialog and changed the logo for the new OSAX name.
Changed the "matching name" syntax to read "of name" which follows the convention of the rest of the criteria parameters.
Created the "starting at" parameter which now handles what used to be the direct parameter for the starting directory for the search. This is just better syntax.
Better error checking.
1.0.1 - 4/26/98
===============
Fixed a bug where unnecessary error messages were shown while scanning.
Prevented a potential problem that would cause FindFile to hang during a scan.
Added the info dialog option.
Modified the info dialog to show the "Press cmd-." text in geneva 9.
Rewrote the info dialog display routine to be more efficient (faster) and fix a couple bad logic bugs.